import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os
import re
from imp import reload
import h5py
import deltascope as cranium
import deltascope.alignment as ut
at = ".\\Data\\30hpf\\AT\\Prob"
gfap = ".\\Data\\30hpf\\Gfap\\Prob"
outdir = ".\\Data\\30hpf\\Output-02-14-2019"
os.mkdir(outdir)
Dat = {}
for f in os.listdir(at):
if 'h5' in f:
num = re.findall(r'\d+',f.split('.')[0])[-1]
Dat[num] = os.path.join(at,f)
Dzrf = {}
for f in os.listdir(gfap):
if 'h5' in f:
num = re.findall(r'\d+',f.split('.')[0])[-1]
Dzrf[num] = os.path.join(gfap,f)
Dbat = {}
Dbzrf = {}
klist = Dat.keys()
param = {
'gthresh':0.5,
'scale':[1,1,1],
'microns':[0.16,0.16,0.21],
'mthresh':0.5,
'radius':10,
'comp_order':[0,2,1],
'fit_dim':['x','z'],
'deg':2
}
%%time
for k in klist:
if k not in list(Dbat.keys()):
Dbat[k] = ut.preprocess(Dat[k],param)
Dbzrf[k] = ut.preprocess(Dzrf[k],param,pca=Dbat[k].pcamed,mm=Dbat[k].mm,vertex=Dbat[k].vertex)
print(k)
else:
print(k,'already processed')
def start(k):
return(ut.start(k,Dbat,[Dbzrf],im=True))
def save_both(k,dfa,dfb):
ut.save_both(k,dfa,dfb,outdir,'30hpf')
model = pd.DataFrame({'a':[],'b':[],'c':[]})
def save_model(k,mm,model):
row = pd.Series({'a':mm[0],'b':mm[1],'c':mm[2]},name=k)
model = model.append(row)
return(model)
def fit_model(axi,df,mm=None):
if mm == None:
mm = np.polyfit(df.x,df.z,2)
p = np.poly1d(mm)
xrange = np.arange(np.min(df.x),np.max(df.x))
axi.plot(xrange,p(xrange),c='m')
return(mm)
def pick_pts(x1,z1,vx,vz,x2,z2):
pts = pd.DataFrame({'x':[x1,vx,x2],'z':[z1,vz,z2]})
return(pts)
Discard because evidence of tear in zrf
k,df,Ldf,ax = start('47')
k,df,Ldf,ax = start('107')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[1].x = 35
pts.iloc[1].z = 12
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
df3,Ldf3,ax,p = ut.check_yz(df2,Ldf2)
p = np.poly1d([-3/4,0])
xrange = np.arange(-10,20)
ax[0,2].plot(xrange,p(xrange),c='c')
df4,Ldf4,ax,p = ut.check_yz(df2,Ldf2,mm=[-3/4,0])
df5,Ldf5,mm,ax = ut.ch_vertex(df4,Ldf4)
save_both(k,df5,Ldf5[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('102')
mm = fit_model(ax[0,1],df)
model = save_model(k,mm,model)
save_both(k,df,Ldf[0])
k,df,Ldf,ax = start('104')
mm = fit_model(ax[0,1],df)
model = save_model(k,mm,model)
save_both(k,df,Ldf[0])
Discard because abnormally low amounts of signal
k,df,Ldf,ax = start('5')
k,df,Ldf,ax = start('105')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[1].x = 28
pts.iloc[1].z = 21
pts.iloc[0].z = 24
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
save_both(k,df3,Ldf3[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('44')
mm = fit_model(ax[0,1],df)
pts = pick_pts(-24,13,0,-3,26,14)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
save_both(k,df1,Ldf1[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('110')
mm = fit_model(ax[0,1],df)
save_both(k,df,Ldf[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('36')
mm = fit_model(ax[0,1],df)
save_both(k,df,Ldf[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('103')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[1].x = -20
pts.iloc[1].z = 8
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
pts = pick_pts(-22,10,0,-2,23,10)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df4,Ldf4,mm,ax = ut.ch_vertex(df3,Ldf3,pts=pts)
save_both(k,df4,Ldf4[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('2')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[1].x = -26
pts.iloc[1].z = 10
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
df2,Ldf2,mm,ax = ut.ch_vertex(df2,Ldf2)
save_both(k,df2,Ldf2[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('106')
ax = ut.make_graph([Dbat[k].df_thresh,Dbzrf[k].df_thresh])
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
df1,Ldf1,ax,p = ut.check_yz(Ldf[0],[df])
df2,Ldf2 = ut.flip(Ldf1[0],[df1])
ax = ut.make_graph([df2]+Ldf2)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
df4,Ldf4,pts,ax = ut.check_pts(df3,Ldf3,'z')
pts.iloc[1].x = 55
pts.iloc[1].z = 15
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df5,Ldf5,ax = ut.revise_pts(df3,Ldf3,'z',pts=pts)
pts = pick_pts(-2,17,25,0,55,15)
ax[1,1].scatter(pts.x,pts.z,c='m',s=50)
df6,Ldf6,mm,ax = ut.ch_vertex(df5,Ldf5,pts=pts)
save_both(k,df6,Ldf6[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('41')
mm = fit_model(ax[0,1],df)
save_both(k,df,Ldf[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('1')
mm = fit_model(ax[0,1],df)
save_both(k,df,Ldf[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('6')
mm = fit_model(ax[0,1],df)
save_both(k,df,Ldf[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('7')
df1,Ldf1,ax,p = ut.check_yz(df,Ldf)
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
pts = pick_pts(-35,14,0,-3,30,12)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2,pts=pts)
save_both(k,df3,Ldf3[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('4')
mm = fit_model(ax[0,1],df)
save_both(k,df,Ldf[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('108')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
save_both(k,df2,Ldf2[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('3')
mm = fit_model(ax[0,1],df)
save_both(k,df,Ldf[0])
model = save_model(k,mm,model)
model.to_csv(os.path.join(outdir,'model.csv'))
outdir
model